package com.enjoyor.soa.traffic.api.service.dubbo.bigdata;

import com.enjoyor.soa.traffic.util.pojo.ResultPojo;


/**
 * 流量实时分析
 */
public interface DubboFlowRealTimeService {

	/*************************** 流量实时分析 - 过车流量 **********************************************/
	/**
	 * 获取过车流量-实时 流量展示查询信息
	 * @return FFRTotalFlowDto
	 */
	public ResultPojo getRealTimeFlow(String token);

	/**
	 * 获取过车流量-今日 流量展示查询信息
	 * @return FFRTotalFlowDto
	 */
	public ResultPojo getTodayFlow(String token);

	/**
	 * 获取过车流量-今日早高峰 流量查询
	 * @return FFRTotalFlowDto
	 */
	public ResultPojo getMorningPeakFlow(String token);

	/**
	 * 获取过车流量-今日晚高峰 流量查询
	 * @return FFRTotalFlowDto
	 */
	public ResultPojo getEveningPeakFlow(String token);

	/**
	 * 获取过车流量-<今日流量趋势>-查询
	 * @return List<FFRTimeFlowDto>
	 */
	public ResultPojo getTodayFlowTrend (String token);

	/**
	 * 获取过车流量-<前一日流量趋势>-查询
	 * @return List<FFRTimeFlowDto>
	 */
	public ResultPojo getYesterdayFlowTrend (String token);

	/**
	 * 获取过车流量-<上周同期流量趋势>-查询
	 * @return List<FFRTimeFlowDto>
	 */
	public ResultPojo getLastWeekSameDayFlowTrend (String token);



	/*************************** 流量实时分析 - 出行车辆 *************************************************************/
	/**
	 * 获取出行车辆-实时 出行车辆展示查询
	 * @return getRealTimeVeh
	 */
	public ResultPojo getRealTimeVeh(String token);

	/**
	 * 获取出行车辆-今日 出行车辆趋势
	 * @return FFRTotalFlowDto
	 */
	public ResultPojo getTodayVeh(String token);

	/**
	 * 获取过车流量-<今日流量趋势>-查询
	 * @return List<FFRTimeFlowDto>
	 */
	public ResultPojo  getTodayVehTrend (String token);

	/**
	 * 获取过车流量-<前一日流量趋势>-查询
	 * @return List<FFRTimeFlowDto>
	 */
	public ResultPojo  getYesterdayVehTrend (String token);

	/**
	 * 获取过车流量-<上周同期流量趋势>-查询
	 * @return List<FFRTimeFlowDto>
	 */
	public ResultPojo getLastWeekSameDayVehTrend (String token);


	/*************************** 流量实时分析 - 重点路段 *************************************************************/
	/**
	 * 获取 重点路段-重点路段排行查询
	 * @return List<FFRRoadFlowDto>
	 */
	public ResultPojo getRoadRealTimeFlowTop (String token);

	/**
	 * 获取 重点路段-今日特定路段流量趋势统计
	 * param roadId String 路段编码
	 * @return List<FFRTimeFlowDto>
	 */
	public ResultPojo getRoadTodayFlowTrend (String token, String roadId);


	/*************************** 流量实时分析 - 重点区域 *************************************************************/
	/**
	 * 获取 重点区域-重点区域排行查询
	 * @return List<FFRAreaFlowDto>
	 */
	public ResultPojo getAreaRealTimeFlowTop (String token);

	/**
	 * 获取 重点区域-今日特定区域流量趋势统计
	 * param areaId String 区域编码
	 * @return List<FFRTimeFlowDto>
	 */
	public ResultPojo getAreaTodayFlowTrend (String token, String areaId);


	/*************************** 流量实时分析 - 出入城-今日出入城车辆统计查询 *****************************************/
	/**
	 * 获取今日入城车辆-统计查询信息
	 * @return FFRVehLeaveInCityDto
	 */
	public ResultPojo getTodayInCityVeh(String token);

	/**
	 * 获取今日出城车辆-统计查询信息
	 * @return FFRVehLeaveInCityDto
	 */
	public ResultPojo getTodayLeaveCityVeh(String token);


	/*************************** 流量实时分析 - 卡口流量-涨跌幅榜**********************************************/
	/**
	 * 获取日卡口流量-增幅-统计信息
	 * @return List<FFRPointFlowDto> 过车流量_出行车辆展示查询信息实体
	 */
	public ResultPojo getPointIncreaseTop(String token);

	/**
	 * 获取日卡口流量-跌幅-统计信息
	 * @return List<FFRPointFlowDto> 过车流量_出行车辆展示查询信息实体
	 */
	public ResultPojo getPointDropTop(String token);


	/*************************** 流量实时分析 - 过车流量预测、出行车辆数预测 *****************************************/
	/**
	 * 获取实时流量分析_预测
	 ---返回三字段：时间（五分钟），预测流量，预测出行车辆数
	 * @return List<FFRForecastDto> 流量预测，出行车辆数预测-展示查询信息实体
	 */
	public ResultPojo getForecast(String token);

}
